package cn.wolfcode.service;


import cn.wolfcode.domain.OrderInfo;
import cn.wolfcode.mq.OrderMQResult;

/**
 * Created by wolfcode-lanxw
 */
public interface IOrderInfoService {

    String doSeckill(Long seckillId, int time, Long phone);

    /**
     * 超时未支付,取消订单
     * @param message
     */
    void cancelOrder(OrderMQResult message);

    OrderInfo find(String orderNo);

    /**
     * 线上支付
     * @param orderNo
     */
    String payOnline(String orderNo);

    /**
     * 积分支付
     * @param orderNo
     */
    void payIntergral(String orderNo);

    /**
     * 支付成功订单逻辑
     * @param orderNo
     */
    void paySuccess(String orderNo);

    /**
     * 线上退款逻辑
     * @param orderInfo
     */
    void refundOnline(OrderInfo orderInfo);

    /**
     * 积分退款流程
     * @param orderInfo
     */
    void refundIntergarl(OrderInfo orderInfo);
}
